package com.woniuxy.entity.po.stationPile;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

import com.github.pagehelper.PageInfo;
import com.woniuxy.entity.dto.stationPile.PileSimpleDTO;
import com.woniuxy.entity.dto.stationPile.StationAddDTO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.beans.BeanUtils;

/**
 * 充电站表
 *
 * @TableName station
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Station implements Serializable {
    /**
     * 充电站id,主键
     */
    private Long id;

    /**
     * 充电站名称
     */
    private String stationName;

    /**
     * 充电站编号
     */
    private String stationNum;

    /**
     * 充电站类型,dictionary_id
     */
    private Long stationTypeId;

    /**
     * 各自类别下的id
     */
    private Long stationTypeKey;

    /**
     * 类型名
     */
    private String stationTypeValue;

    /**
     * 最大充电桩数
     */
    private Integer maxPiles;

    /**
     * 充电站状态,1-停用, 2-启用, 默认启用
     */
    private Integer stationCondition;

    /**
     * 充电站位置
     */
    private String location;

    /**
     * 充电站负责人id
     */
    private Long userId;

    private String userName;

    /**
     * 联系电话
     */
    private String phone;


    /**
     * 充电站简介
     */
    private String remark;

    /**
     * 逻辑删除：1-正常, 0-删除
     */
    private Integer stationStatus;

    /**
     * 经度
     */
    private BigDecimal longitude;

    /**
     * 纬度
     */
    private BigDecimal latitude;
    /**
     * 车辆充电桩数量
     */
    private Integer carPileCount;
    /**
     * 自行车充电桩数量
     */
    private Integer bikePileCount;
    /**
     * 公交充电桩数量
     */
    private Integer busPileCount;

    private LocalDateTime nextStartTime;
    private LocalDateTime nextEndTime;

    private static final long serialVersionUID = 1L;

    //非数据库字段
    private List<String> imgSrc;
    private List<StationSchedule> schedules;

    public Station(StationAddDTO stationAddDTO){
        BeanUtils.copyProperties(stationAddDTO,this);
    }
}